#ifndef PROTREEITEM_H
#define PROTREEITEM_H

#include <QTreeWidgetItem>
#include <QTreeWidget>
#include <QString>

class ProTreeItem : public QTreeWidgetItem
{
public:
    ProTreeItem(QTreeWidget *view, const QString &name, const QString &path, int type);
    ProTreeItem(QTreeWidgetItem *parent, const QString &name, const QString &path, QTreeWidgetItem* root, int type);

    const QString& GetPath();
    QTreeWidgetItem* GetRoot();
    void SetProItem(QTreeWidgetItem* item);
    void SetNextItem(QTreeWidgetItem* item);

    // 基类转子类得用 dynamic_cast（子类转基类是直接转化的，有隐式类型转化 --> 切片）
    ProTreeItem* GetPreItem();
    ProTreeItem* GetNextItem();
    ProTreeItem* GetLastPicChild();
    ProTreeItem* GetFirstPicChild();

private:
    QString _path;
    QString _name;
    QTreeWidgetItem* _root;
    QTreeWidgetItem* _pre_item;
    QTreeWidgetItem* _next_item;

};



#endif // PROTREEITEM_H
